Conventionally, there is used a wireless communication apparatus that performs a plurality of processes using wireless communication, such as a mobile terminal device that performs a plurality of processes, such as an application process in addition to a voice communication process and a data communication process. Such a wireless communication apparatus is equipped with two types of processors (CPUs (Central Processing Units)): a CPU for wireless processing (hereinafter, referred to as a “CCPU”) and a CPU for an application (hereinafter, referred to as an “ACPU”). By using a plurality of CPUs designed for the purposes in this way, it is possible to achieve high-speed processing.
A configuration of the wireless communication apparatus described above is explained with reference to FIG. 10. As illustrated in FIG. 10, a wireless communication apparatus 10 includes an antenna 11, a wireless function unit 15, and an application function unit 40.
The antenna 11 transmits and receives data exchanged with another wireless communication apparatus or the like via a base station. For example, the antenna 11 transmits and receives packet data, such as voice data or an image, exchanged with another wireless communication apparatus. Furthermore, the antenna 11 receives application information, update information of software or firmware, and the like that are transmitted from a management server and the like, and outputs the received information to a digital processing unit 16 to be described below. The update information is, for example, information on a version upgrade.
The wireless function unit 15 includes a wireless processing unit 20, the digital processing unit 16, an SDRAM (Synchronous Dynamic Random Access Memory) memory 17, and a nonvolatile memory 18 such as a ROM (Read Only Memory).
The digital processing unit 16 is a processing unit including a DSP (Digital Signal Processor), and includes a layer-1 data transfer program 16a and a layer-1 wireless control program 16b. The layer-1 data transfer program 16a outputs data received via the antenna 11, such as update information, to a layer-1-side interface 24b. Furthermore, the layer-1 data transfer program 16a transmits data processed by the wireless processing unit 20 to a destination by wireless communication via the antenna 11.
The layer-1 wireless control program 16b outputs wireless data received via the antenna 11, such as voice data, to a resource control function unit 23. Furthermore, the layer-1 wireless control program 16b transmits voice data processed by the wireless processing unit 20 or application data processed by the application function unit 40 to a destination by wireless communication via the antenna 11.
The SDRAM memory 17 stores therein, for example, a programs or data used by the wireless processing unit 20 and the like. The nonvolatile memory 18 stores therein, for example, programs or data used by the wireless processing unit 20, the digital processing unit 16, and the like.
The wireless processing unit 20 is a processing unit including a CCPU, and includes a terminal adaptation function unit 21, an external interface 22, the resource control function unit 23, and a layer-2 function unit 24. Furthermore, the wireless processing unit 20 includes a real-time OS (Operating System) 25 and a boot function unit 26.
The terminal adaptation function unit 21 is a processing unit including a TAF (Terminal Adaptation Function), and is connected to the resource control function unit 23 and the like via a general-purpose bus, and performs protocol conversion and the like. Furthermore, the terminal adaptation function unit 21 makes adaptation of communication between the wireless communication apparatus 10 and the base station or another wireless communication apparatus. Moreover, the terminal adaptation function unit 21 is connected to the application function unit 40 via the external interface 22, and receives application information, update information of software or firmware, or the like that is received by the antenna 11.
The resource control function unit 23 is a processing unit including an RRC (Radio Resource Control). Furthermore, the resource control function unit 23 is connected to the layer-1 wireless control program 16b that performs the wireless control, and controls a wireless link control protocol for controlling a wireless link between another terminal device and a wireless access network (a layer 3 protocol). For example, the resource control function unit 23 executes respective procedures for the management of wireless resources and the wireless link control.
The layer-2 function unit 24 includes a plurality of layer-2 programs 24a, and performs various processes on data transmitted or received by a layer 2 protocol, such as the data link layer. Furthermore, the layer-2 function unit 24 is connected to the digital processing unit 16 via the layer-1-side interface 24b, and is connected to the other control units of the wireless processing unit 20 via a layer-2-side interface 24c. The plurality of layer-2 programs 24a of the layer-2 function unit 24 stores data received from the digital processing unit 16 via the layer-1-side interface 24b in an IP packet buffer 24d. The layer-2 programs 24a include, for example, a PDCP (Packet Data Control Protocol), an RLC (Radio Link Control), and a MAC (Medium Access Control). The PDCP is, for example, a protocol processing unit that performs the data control. The RLC is, for example, a processing unit that controls the radio link. The MAC is, for example, a processing unit that controls the medium access.
The real-time OS 25 has a function of estimating the processing time required for a process, a mechanism for completing a process within a desired time even in a case where a plurality of processing requests come up at the same time, and the like, and performs a task. Furthermore, the real-time OS 25 holds task scheduling, and performs the highest-priority task based on priorities of tasks.
The boot function unit 26 includes a ROM for storing a boot program to boot up the wireless communication apparatus 10, and boots, shuts down, or reboots the wireless communication apparatus 10 in accordance with the user's instruction operation or when receiving data including a command, such as a boot command, a shutdown command, or a reboot command.
The application function unit 40 is a processing unit including an ACPU, and includes, in the same manner as the wireless function unit 15, an SDRAM memory, a nonvolatile memory, and the like, and stores therein an application, and executes the application in accordance with the user's instruction operation or the like.
As described above, the wireless communication apparatus that performs a plurality of processes, such as wireless communication and an application process, has a complex configuration. Recently, with the spread of the LTE (Long Term Evolution), faster processing, execution of a more complex application, high-precision image processing, and the like are requested in the wireless communication apparatus. To comply with these requests, it is necessary to perform a version upgrade of software or firmware, which is the function units described above, or the like.
A flow of a process of updating the wireless communication apparatus 10 using wireless communication is explained with reference to FIG. 11. FIG. 11 is a sequence diagram illustrating a flow of a conventional update process. The update of the wireless communication apparatus 10 here means, for example, wireless update or over-the-air download of firmware or software. As an example of update information processing, a case of using over-the-air download is explained here; however, even in a case of using wireless update or the like, the same problems exist.
The wireless communication apparatus 10 and the base station (eNodeB) are connected by wireless communication. Furthermore, the base station and a management server are connected by wireless communication. The management server transmits update information to the wireless communication apparatus 10, and is managed by a manufacturer that supplies the wireless communication apparatuses to users or the like. Namely, the wireless communication apparatus 10 and the management server are connected by wireless communication via the base station.
As illustrated in FIG. 11, when the base station notifies the wireless communication apparatus 10 of initiation handshake by an over-the-air download application (Step S501), the wireless communication apparatus 10 detects an over-the-air download (Step S502). Here, for example, the wireless communication apparatus 10 displays information that the over-the-air download has been detected on a display or the like. The base station receives information that the firmware update is needed from the management server or the like, and notifies the wireless communication apparatus 10 of the information. When receiving the notification from the base station, the wireless communication apparatus 10 displays information that firmware update is needed on the display or the like.
Then, when receiving an instruction to start the over-the-air download update from a user (Step S503), the wireless communication apparatus 10 transmits an over-the-air download start instruction to the base station (Step S504). When receiving the start instruction, the base station transmits an over-the-air download PDU (Protocol Data Unit) received from the management server to the wireless communication apparatus 10 (Step S505). The layer-1 data transfer program 16a of the wireless communication apparatus 10 receives the transmitted over-the-air download PDU (Step S506). The PDU is data handled by a protocol, and denotes, for example, a packet, a frame, or a cell.
Subsequently, the digital processing unit 16 of the wireless communication apparatus 10 transmits the received PDU to the layer-2 function unit 24 (Step S507). The layer-2 function unit 24 stores the received PDU as an IP packet in the IP packet buffer 24d (Step S508). Then, the application function unit 40 reads out the IP packet from the IP packet buffer 24d, and starts the assembly of an update program (Step S509).
After that, the application function unit 40 reads out all the over-the-air download PDUs received from the base station from the IP packet buffer 24d, and completes the assembly of the update program (Steps S510 to S514). Then, the application function unit 40 instructs the terminal adaptation function unit 21 to deactivate the wireless processing function (Step S515). The terminal adaptation function unit 21 instructed to deactivate the wireless processing function instructs the resource control function unit 23 to deactivate the wireless processing function (Step S516).
Subsequently, the resource control function unit 23 transmits an instruction for deactivation of the wireless processing function to both of the layer-2 function unit 24 and the digital processing unit 16 (Steps S517 and S518). As a result, the wireless communication apparatus 10 deactivates the wireless processing function, and the communication with the outside is blocked (Step S519).
After the wireless processing function is deactivated in this manner, the application function unit 40 writes the assembled update program on the nonvolatile memory 18 (Step S520), and transmits an update instruction to the boot function unit 26 (Step S521). When receiving the update instruction, the boot function unit 26 performs code expansion (Step S522). Namely, the boot function unit 26 reads out the update program written on the nonvolatile memory 18, writes the read update program on the SDRAM memory 17, and writes the read update program on the SDRAM memory 17, and then starts performing an update process by executing the update program written on the SDRAM memory 17.
After that, when the boot function unit 26 receives an interrupt request from the terminal adaptation function unit 21 that has completed the code expansion, the process flow branches to the beginning of a main program of the real-time OS 25 (Step S523). The boot function unit 26 that has generated the interrupt, for example, reboots the wireless communication apparatus 10, and transmits information of completion of the update to the application function unit 40 (Step S524).
When receiving the information of completion of the update, the application function unit 40 transmits a request for the activation of the wireless processing function to the terminal adaptation function unit 21 (Step S525). After that, as a wireless processing function activation task, which is the highest-priority task, the functions, such as the wireless processing function of the terminal adaptation function unit 21, are activated by the real-time OS 25, and the wireless communication apparatus 10 initiates the wireless communication (Step S526).
Patent document 1: Japanese National Publication of International Patent Application No. 2005-509381
However, in the conventional technology described above, there is a problem that it takes time to perform any of update processes for updating the wireless function, an application, and the like. Specifically, for example, when firmware or software of layers 1 to 3 of the wireless function is updated using wireless communication, such as over-the-air download, it is necessary to always use a higher-level protocol of the application function unit 40.
The above problem is specifically explained with reference to FIG. 12. As illustrated in FIG. 12, the management server, which provides update information, has a communication processing function capable of controlling the physical layer (PHY) defining a protocol of layer 1 and the data link layer defining a protocol of layer 2, such as the Ethernet (registered trademark). Furthermore, the management server has a communication processing function capable of controlling the network layer defining a protocol such as the Internet Protocol version 4 (IPv4) or the Internet Protocol version 6 (IPv6). Moreover, the management server has a communication processing function capable of controlling the transport layer defining a protocol such as the UDP (User Datagram Protocol)/TCP (Transmission Control Protocol). The management server holds an over-the-air download delivery application for delivering update information in the application layer higher than the transport layer. Namely, the management server delivers an over-the-air download indicating update information using the protocol of the application layer higher than the UDP/TCP.
On the other hand, the base station has, as illustrated in FIG. 12, a communication processing function capable of controlling the physical layer (PHY) defining a protocol of layer 1 and the data link layer defining a protocol of layer 2 in which the PDCP, the RLC, the MAC, and the like perform processing. Furthermore, the base station has a communication processing function capable of controlling the network layer in which the IP routing for transmitting and receiving a TCP/IP packet is implemented. The base station does not have a function capable of processing a higher-level layer higher than the transport layer, such as the UDP/TCP.
And, the wireless communication apparatus 10 has, as illustrated in FIG. 12, the layer-2 function unit 24 capable of controlling respective protocols defined in the physical layer (PHY), the data link layer, and the network layer. Specifically, the layer-2 function unit 24 has a communication processing function capable of controlling the physical layer (PHY), such as a bus interface. Furthermore, the layer-2 function unit 24 has a communication processing function capable of controlling the data link layer, such as a shared memory interface, the PDCP, the RLC, and the MAC. Moreover, the layer-2 function unit 24 has a communication processing function capable of controlling the transport layer in which RoHC can be implemented.
Furthermore, the wireless communication apparatus 10 has the terminal adaptation function unit 21 and the resource control function unit 23 that are capable of controlling respective protocols defined in the physical layer (PHY), the data link layer, and the network layer. Specifically, the terminal adaptation function unit 21 and the resource control function unit 23 have a communication processing function capable of controlling USB (Universal Serial Bus) communication and the like. Furthermore, the terminal adaptation function unit 21 and the resource control function unit 23 have a communication processing function capable of controlling a PPP (Point-to-Point Protocol) server function, a shared memory interface, and the like. Moreover, the terminal adaptation function unit 21 and the resource control function unit 23 have a communication processing function capable of controlling the IP routing for transmitting and receiving a TCP/IP packet.
Moreover, the wireless communication apparatus 10 has the application function unit 40 capable of controlling respective protocols defined in the physical layer (PHY), the data link layer, the network layer, the transport layer, and the application layer. Specifically, the application function unit 40 has a communication processing function capable of controlling the physical layer (PHY) such as USB communication, the data link layer such as a PPP client function, the network layer such as the IPv4 or the IPv6, the transport layer such as the UDP/TCP, and the like. Furthermore, the application function unit 40 holds an over-the-air download processing application for receiving update information and executing the update in the application layer higher than the transport layer. Namely, the application function unit 40 receives an over-the-air download indicating update information and executes the update on the application layer higher than the UDP/TCP.
In this manner, the layer-2 function unit 24 including a CCPU, the terminal adaptation function unit 21, and the resource control function unit 23 in the wireless communication apparatus 10 do not have a function capable of processing a higher-level layer higher than the transport layer, such as the UDP/TCP. Namely, in the wireless communication apparatus 10, only the application function unit 40 has the over-the-air download processing application capable of processing update information provided from the management server.
Consequently, in the wireless communication apparatus 10, after the wireless function unit 15 once receives update information transmitted from the management server, the update information is transmitted to the application function unit 40. After that, the wireless communication apparatus 10 executes an update program or the like that is generated from the update information by the application function unit 40. Namely, even when receiving update information from an external device or the like, the wireless communication apparatus 10 needs to perform internal data transfer, so it takes a lot of time to perform a series of processes from reception of the update information to completion of the update.
Furthermore, even in a case of the update using a data card in which update information, such as an update program, is stored, although a process of reading out the update program from the data card is performed by the wireless function unit 15, the wireless function unit 15 is not able to analyze and execute the update program. Thus, the wireless function unit 15 needs to transmit the update program read out from the data card to the application function unit 40 to cause the application function unit 40 to execute the update program.